package br.com.ngame.device;


public interface InputDevice
{
	public static final int NOT_USED = -1;
	public static final int EXIT = 0;
	public static final int MENU = 1;
	public static final int PAUSE = 2;
	public static final int FULLSCREEN = 3;
	public static final int ACTION1 = 4;
	public static final int ACTION2 = 5;
	public static final int ACTION3 = 6;
	public static final int ACTION4 = 7;
	public static final int ACTION5 = 8;
	public static final int ACTION6 = 9;
	public static final int ACTION7 = 10;
	public static final int ACTION8 = 11;
	public static final int ACTION9 = 12;
	public static final int ACTION10 = 13;
	public static final int MOUSE_LEFT = 14;
	public static final int MOUSE_RIGHT = 15;
	public static final int BUTTON_COUNT = 16;

	public void reset();
	public void reset(int virtualButton);
	public void clearMapping();
	public void mapButton(int deviceButton, int virtualButton);
	public boolean isPressed(int virtualButton);
	public boolean isReleased(int virtualButton);
	public int[] getPressedButtons();
	public int[] getReleasedButtons();
	public int getXAxisOffset();
	public int getYAxisOffset();
	public int getZAxisOffset();
	public int getCursorX();
	public int getCursorY();
}
